SQL Server误区30日谈 第11天 镜像在检测到故障后瞬间就能故障转
在SQL Server标准版以及企业版所在的CPU低于5个内核,Roll Forward只有一个线程。对于企业版并且CPU多余5核,为每4个核分配一个Roll Forward线程。所以完全可以看出故障转移所需的时间取决于需要对日志进行Redo处理的队列大小,CPU的核数,以及镜像服务器的负载。
误区 #11:镜像在检测到故障后瞬间就能故障转移
错误
当主体服务器发生故障时,镜像服务器在日志队列Redo完成之前不会上线(所谓的日志队列就是由主体服务器传送到镜像服务器的日志,但还没有在镜像服务器Replay)。即使你镜像的运行模式是同步,也仅仅只能说明日志被写入镜像磁盘,但不能保证日志在镜像服务器被重放。而对于故障转移来说,镜像服务器必须经历Roll Forward阶段才能够上线.但Roll Back阶段是镜像上线后才会做的。
数据库镜像的故障转移既可以自动发起,也可以手动发起。手动故障转移是由你发起的,手动发起可能是由于不存在见证服务器(以至于无法“形成仲裁”),或是在主体服务器现在问题时镜像的运行模式不是“同步”。
有关这里更细节的文章,你可以参看:Estimating the Interruption of Service During Role Switching
由于大家都认为镜像工作在同步方式时可以迅速进行故障转移,所以很少有人检测日志Redo队列。但由于Redo队列的大小确定了故障转移时Downtime的大小,所以检测镜像服务器Redo队列变得十分重要。
在自动发起的情况下,是由镜像服务器执行故障转移操作(你没有看错,并不是由见证服务器来做故障转移的决定),在见证服务器和镜像服务器都发现无法和主体服务器交换信息(这个过程被称为”形成仲裁”,译者注:也就是通过程序对集群进行监管,集群可用的依据来自监管程序的算法,比如根据:每个节点的配置,文件共享情况,磁盘访问情况,每个节点的可用性等来确定集群是否可用)并且镜像方式是同步时,可以进行故障转移。(译者注:所谓的同步指的是主体服务器必须等待镜像服务器的日志写入后,才能够提交事务。相对异步来说性能更差,但更安全,并且还不需要SQL Server是企业版)。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/mssql/2524.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
SQL基本教程之行转列Pivo
时间:2021-01-20
-
region from hr.Employees union
时间:2021-01-20
-
有时候需要调整用户权限
时间:2021-01-19
-
(但使用 ORDER BY 子句并不
时间:2021-01-19
-
RAND()*10000)insert into Detail
时间:2021-01-19
-
OR 运算符:在两侧的查询
时间:2021-01-19
-
放假之前老大跟我提起了
时间:2021-01-19
-
数据库的运维计策剧本篇
时间:2021-01-19
热门文章
-
4.与聚合函数和 GROUP BY 子句有关的常见错
时间:2021-01-19
-
SQL Server安全(11/11):审核(Auditing)
时间:2021-01-09
-
sqlserver中查询横表变竖表的sql语句简析
时间:2020-12-08
-
SQL Server简单模式下误删除堆表记录恢复方
时间:2020-12-12
-
关于SQL Server查询语句的使用
时间:2020-12-13
-
MSSQL教程_mssql数据库教程_MSSQL基础教程_第
时间:2020-12-13
-
jdbc连接sql server数据库问题分析
时间:2020-12-10
-
详解SQL游标的用法
时间:2020-12-27
-
sql server 关于设置null的一些建议
时间:2020-12-28
-
mssql关于一个表格结构的另外一种显示(表
时间:2020-12-11
